<template>
  <div class="hello">
    <!-- <img :src="codeIcon" style="width: 100px; height: 100px;" @click="sayHello()" alt="QR Code"/> -->

    <canvas ref="qrcodeCanvas" @click="sayHello()"></canvas>
    
    <!-- <h1>{{ msg }}</h1>
    <p>
      For a guide and recipes on how to configure / customize this project,<br>
      check out the
      <a href="https://cli.vuejs.org" target="_blank" rel="noopener" @click="sayHello()">vue-cli documentation</a>.
    </p>
    <h3>Installed CLI Plugins</h3>
    <ul>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-vuex" target="_blank" rel="noopener">vuex</a></li>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
    </ul>
    <h3>Essential Links</h3>
    <ul>
      <li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
      <li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
      <li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
      <li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
      <li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
    </ul>
    <h3>Ecosystem</h3>
    <ul>
      <li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
      <li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
      <li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
      <li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
      <li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
    </ul> -->
  </div>
</template>

<script>
// import qrTerm from 'qrcode-terminal'
import QRCode from 'qrcode';
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  data() {
    return {
      codeIcon: 'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1116676390,3155933193&fm=26&gp=0.jpg'
    }
  },
  mounted() {
    document.addEventListener('udpreceivemsg', this.broadcastReplys, false);
  },
  methods: {
    sayHello() {
      console.log('Hello, World!')
      let electronAPI = window.electronAPI;
      electronAPI.sendMainInfo('Hello, World!');

      // window.sendMsg('Hello, World!')
    },
    broadcastReplys(e) {
      this.codeIcon = e.detail;
      console.log(e.detail);
      
      this.generateQRCode(e.detail+"");
      // console.log("--------------" + e.detail + "--------------");
      // const qrImage = document.createElement('img');
      // qrImage.src = qrTerm.generate(qrcode, { small: true });
      // document.body.appendChild(qrImage);
    },
    generateQRCode(url) {
      const canvas = this.$refs.qrcodeCanvas;
      QRCode.toCanvas(canvas, url, { errorCorrectionLevel: 'H' }, (error) => {
        if (error) {
          console.error(error);
          alert('二维码生成失败');
        } else {
          console.log('二维码生成成功');
        }
      });
    },
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}

ul {
  list-style-type: none;
  padding: 0;
}

li {
  display: inline-block;
  margin: 0 10px;
}

a {
  color: #42b983;
}
</style>
